home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / et / et3_0-a1.lha / et3 / src / Time.h < prev    next >
C/C++ Source or Header  |  1992-04-27  |  1KB  |  58 lines

  1. #ifndef Time_First
  2. #ifdef __GNUG__
  3. //pragma once
  4. #pragma interface
  5. #endif
  6. #define Time_First
  7.  
  8. #include "Types.h"
  9. #include "Stream.h"
  10.  
  11. //---- Time --------------------------------------------------------------------
  12.  
  13. class Time {
  14. public:
  15.     Time();
  16.     Time(long msec);                
  17.  
  18.     //----- operators                          
  19.     Time operator+(Time &t);
  20.     Time operator-(Time &t);
  21.     Time operator*(int i);
  22.     Time operator*(double f);
  23.     
  24.     //--- conversion
  25.     long AsLong();
  26.     long InMSec()
  27.     { return AsLong(); };
  28.     char *AsString();
  29.     
  30.     //----- comparison  
  31.     int Compare(Time &t);
  32.  
  33.     //---- syntactic sugar: relational operators
  34.     bool operator==(Time &t)
  35.     { return Compare(t) == 0; };
  36.     bool operator<(Time &t)
  37.     { return Compare(t) < 0; };
  38.     bool operator<= (Time &t)
  39.     { return Compare(t) <= 0; };
  40.     bool operator>(Time &t)
  41.     { return Compare(t) > 0; };
  42.     bool operator>=(Time &t)
  43.     { return Compare(t) >= 0; };
  44.     
  45.     //---- Stream operators
  46.     friend OStream &operator<< (OStream&, Time &t);
  47.     friend IStream &operator>> (IStream&, Time &t);   
  48. private:
  49.     long val;
  50. };
  51.  
  52. SimpleMetaDef(Time);
  53.  
  54. //------------------------------------------------------------------------------
  55.  
  56. #endif Time_First
  57.  
  58.